package com.shimao.celnet.payment.model;

import org.hibernate.validator.constraints.NotEmpty;

import javax.persistence.Column;
import javax.persistence.Table;
import java.io.Serializable;

@Table(name = "a_sys_user")
public class ASysUser extends BaseModel  implements Serializable {

    private static final long serialVersionUID =1493049839167L;
    /**
     * 用户名英文字母，数字，建议用邮箱，或者手机号码
     */
    @Column(name = "user_name")
    private String userName;

    /**
     * 密码字母数字开头，字母、数字、等字符组成
     */
    @NotEmpty(message = "不能为空")
    private String password;

    /**
     * 邮箱
     */
    @NotEmpty(message = "不能为空")
    private String email;

    /**
     * 移动电话
     */
    @NotEmpty(message = "不能为空")
    private String phone;

    /**
     * 固定电话
     */
    @Column(name = "fixed_phone")
    private String fixedPhone;

    /**
     * 用户真实姓名
     */
    @NotEmpty(message = "不能为空")
    @Column(name = "real_name")
    private String realName;
    /**
     * 用户所在小区（分期）
     */
    private String estateGuid;

    /**
     * 用户所在区域
     */
    @Column(name = "area_guid")
    private String areaGuid;
    /**
     * 所属部门名称
     */
    @NotEmpty(message = "不能为空")
    private String unit;

    /**
     * 性别1：男；2：女；0：未知
     */
    @NotEmpty(message = "不能为空")
    private String gender;


    /**
     * 获取用户名英文字母，数字，建议用邮箱，或者手机号码
     *
     * @return user_name - 用户名英文字母，数字，建议用邮箱，或者手机号码
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 设置用户名英文字母，数字，建议用邮箱，或者手机号码
     *
     * @param userName 用户名英文字母，数字，建议用邮箱，或者手机号码
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * 获取密码字母数字开头，字母、数字、等字符组成
     *
     * @return password - 密码字母数字开头，字母、数字、等字符组成
     */
    public String getPassword() {
        return password;
    }

    /**
     * 设置密码字母数字开头，字母、数字、等字符组成
     *
     * @param password 密码字母数字开头，字母、数字、等字符组成
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * 获取邮箱
     *
     * @return email - 邮箱
     */
    public String getEmail() {
        return email;
    }

    /**
     * 设置邮箱
     *
     * @param email 邮箱
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * 获取移动电话
     *
     * @return phone - 移动电话
     */
    public String getPhone() {
        return phone;
    }

    /**
     * 设置移动电话
     *
     * @param phone 移动电话
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }

    /**
     * 获取固定电话
     *
     * @return fixed_phone - 固定电话
     */
    public String getFixedPhone() {
        return fixedPhone;
    }

    /**
     * 设置固定电话
     *
     * @param fixedPhone 固定电话
     */
    public void setFixedPhone(String fixedPhone) {
        this.fixedPhone = fixedPhone;
    }

    /**
     * 获取用户真实姓名
     *
     * @return real_name - 用户真实姓名
     */
    public String getRealName() {
        return realName;
    }

    /**
     * 设置用户真实姓名
     *
     * @param realName 用户真实姓名
     */
    public void setRealName(String realName) {
        this.realName = realName;
    }

    /**
     * 获取所属部门名称
     *
     * @return unit - 所属部门名称
     */
    public String getUnit() {
        return unit;
    }

    /**
     * 设置所属部门名称
     *
     * @param unit 所属部门名称
     */
    public void setUnit(String unit) {
        this.unit = unit;
    }

    /**
     * 获取性别1：男；2：女；0：未知
     *
     * @return gender - 性别1：男；2：女；0：未知
     */
    public String getGender() {
        return gender;
    }

    /**
     * 设置性别1：男；2：女；0：未知
     *
     * @param gender 性别1：男；2：女；0：未知
     */
    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getEstateGuid() {
        return estateGuid;
    }

    public void setEstateGuid(String estateGuid) {
        this.estateGuid = estateGuid;
    }

    public String getAreaGuid() {
        return areaGuid;
    }

    public void setAreaGuid(String areaGuid) {
        this.areaGuid = areaGuid;
    }

    @Override
    public String toString() {
        return "ASysUser{" +
                "userName='" + userName + '\'' +
                ", password='" + password + '\'' +
                ", email='" + email + '\'' +
                ", phone='" + phone + '\'' +
                ", fixedPhone='" + fixedPhone + '\'' +
                ", realName='" + realName + '\'' +
                ", estateGuid='" + estateGuid + '\'' +
                ", areaGuid='" + areaGuid + '\'' +
                ", unit='" + unit + '\'' +
                ", gender='" + gender + '\'' +
                '}';
    }
}